package com.co.notaweb.entities;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;

/**
 * @author PC
 * @version 1.0
 * @created 13-nov-2011 12:14:27
 */
@Entity
@NamedQueries({ @NamedQuery(name = "Periodo.allPeriodosByColegio", query = "SELECT p FROM Colegio c INNER JOIN c.periodos p WHERE c.id = :idColegio ") })
public class Periodo {
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private long id;
	private String nombre;
	private String descripcion;
	@OneToMany(mappedBy = "periodo", fetch = FetchType.EAGER)
	private List<Logro> logros;
	@OneToMany(mappedBy = "periodo")
	private List<Calificacion> calificaciones;
	@ManyToOne
	private Colegio colegio;

	public Periodo() {

	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public List<Logro> getLogros() {
		return logros;
	}

	public void setLogros(List<Logro> logros) {
		this.logros = logros;
	}

	public List<Calificacion> getCalificaciones() {
		return calificaciones;
	}

	public void setCalificaciones(List<Calificacion> calificaciones) {
		this.calificaciones = calificaciones;
	}

	public Colegio getColegio() {
		return colegio;
	}

	public void setColegio(Colegio colegio) {
		this.colegio = colegio;
	}

}